1. Technical Field
The present invention relates generally to the field of data processing systems, and more specifically to a method, system, and computer program product for dynamically managing power within a microprocessor chip by selectively altering the present power state of individual physical hardware elements included in the chip according to the present processing demands placed on the chip.
2. Description of Related Art
A microprocessor chip is a device that is fabricated using a single piece of silicon. The microprocessor chip may also be called a chip or an integrated circuit. One or more hardware elements are fabricated on the single microprocessor chip. The hardware elements generally include processing cores and caches, but may also include special functional elements such as compression engines, encryption engines, protocol processing engines, architecture emulation engines, and data stream processing engines. The number of hardware elements that are included in a microprocessor chip is increasing over time driven by two factors: (1) technology advances are enabling more circuits to be packaged per chip, soon reaching the levels of billions of circuits per chip, and (2) the performance improvement for a single core (“single thread performance”) is slowing down because of slowing improvements in circuit speed and diminishing returns in instruction-level parallelism.
A processing core also includes multiple sub-elements such as a floating point unit, a load/store unit, an instruction sequencing unit, a fixed point execution unit, an instruction fetch unit, a branch execution unit, and possibly other sub-elements. Some processing cores include several instances of the same type of unit. For example, a processing core may include several separate floating point units and/or several separate load/store units. The terms “processing core” and “processor” are used interchangeably herein to refer to the same device.
Microprocessor chip performance will increasingly be limited by power dissipation as the scaling of the technology results in unacceptable power density increases. This power dissipation is increasingly due to leakage current that is independent of whether or not a given circuit is active. Thus, inactive hardware elements that are powered-on will dissipate essentially as much power as if they were active.
The various hardware elements included in a single microprocessor chip receive power that is distributed throughout the microprocessor chip. One method for distributing power is to provide a power plane within the microprocessor chip. The hardware elements in the microprocessor chip receive power from the power plane.
The trend in the industry has been to continually increase the density of the circuitry in the microprocessor chip which increases the number of hardware elements that are included in a single microprocessor chip. Thus, many hardware elements will be integrated within one single microprocessor chip.
Depending on the particular work being done by the chip, some of the hardware elements will be required while others are not used. In some cases, a significant number of the hardware elements may not be needed during a particular period of time. In other cases, limitations in the power supply infrastructure or limitations in the microprocessor cooling system will not allow all the elements of a single microprocessor chip to be active simultaneously. This is particularly true during the typical function testing of unpackaged chips, or testing used to increase microprocessor hardware reliability. Reliability testing is done under conditions of elevated temperature and elevated voltage and therefore causes the microprocessor chip to dissipate peak power. The current generation of testing equipment will be unable to supply the required power to test the next generation of highly integrated microprocessors which contain large numbers of hardware elements.
Permitting unused hardware elements to remain powered-on, or powered-on in an idle state during normal operations, will also require the chip to dissipate unnecessary power. Therefore, a need exists for a method, system, and product for dynamically managing power in a microprocessor chip by selectively altering the present power state of individual hardware elements included in the microprocessor chip according to the present processing demands placed on the microprocessor chip.